package com.yungu.swift.system.sys.model.dto;

import com.yungu.swift.base.model.BaseDto;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 系统抢单配置表
 *
 * @author Zerrion
 * @date 2019/12/25
 */
@Data
public class SysAssignConfigDto extends BaseDto {
    /**
     * 区划uuid
     **/
    private String districtUuid;
    /**
     * 固定轮询半径(公里)
     **/
    private BigDecimal fixedRadius = new BigDecimal(10);
    /**
     * 第一轮轮询半径(公里)
     **/
    private BigDecimal firstRadius = new BigDecimal(10);
    /**
     * 每轮递增轮询半径(公里)
     **/
    private BigDecimal increaseRadius = new BigDecimal(1);
    /**
     * 最大轮询半径(公里)
     **/
    private BigDecimal maxRadius = new BigDecimal(20);
    /**
     * 每轮轮询间隔(秒)
     **/
    private BigDecimal intervalSecond = new BigDecimal(5);
    /**
     * 最大等待时长(秒)
     **/
    private BigDecimal maxWaitSecond = new BigDecimal(300);
    /**
     * 开始允许向下听单时长（秒）
     */
    private BigDecimal listenDownSecond = new BigDecimal(60);
    /**
     * 业务类型
     */
    private Integer businessType;

    /**
     * 运营开始时间
     **/
    private String operationStartTime;

    /**
     * 运营结束时间
     **/
    private String operationEndTime;

    /**
     * 派单模式
     */
    private Integer assignMode;

    /**
     * 首单派单距离
     */
    private Double firstAssignDistance;

    /**
     * 起点范围
     */
    private Double originRange;

    /**
     * 起点权重
     */
    private Double originWeight;

    /**
     * 终点范围
     */
    private Double destRange;

    /**
     * 终点权重
     */
    private Double destWeight;

    /**
     * 出发时间范围
     */
    private Double departTimeRange;

    /**
     * 出发时间权重
     */
    private Double departTimeWeight;

    /**
     * 上座率加分
     */
    private Double beatRateBonus;

    /**
     * 匹配度阈值
     */
    private Double matchRateThreshold;

    /**
     * 新乘客匹配新司机 0 关闭 1 开启
     */
    private Integer newDriverPassengerMatch = 0;

    /**
     * 路面距离过滤开关 0 关闭 1 开启
     */
    private Integer pavementDistanceFlag = 0;

    /**
     * 司机上一单完成时间开关 0 关闭 1开启
     */
    private Integer driverPreviousOrderFlag = 0;

    /**
     * 司机服务分开关 0 关闭 1开启
     */
    private Integer driverScoreFlag = 0;

    /**
     * 当天完成订单数开关 0 关闭 1开启
     */
    private Integer currentDayOrderCountFlag = 0;

    /**
     * 小件派单模式
     */
    private Integer parcelAssignMode;
}
